#include <zlib/eventsystem/P_Queue.h>
#include <iostream>

using namespace std;

class Test{
};

int main()
{
	Test t1;
	Test t2;
	Test t3;
	Test t4;
	Test t5;
	Test t6;
	Test t7;
	Test t8;
	Test t9;
	Test t10;
	Test t11;
	Test t12;
	Test t13;

	//BlockQueue<Test *> que;
	NonBlockList<Test *> que;

	que.enqueue(&t1);
	que.enqueue(&t2);
	que.enqueue(&t3);
	que.enqueue(&t4);
	que.enqueue(&t5);
	que.enqueue(&t6);
	que.enqueue(&t7);
	que.enqueue(&t8);
	que.enqueue(&t9);
	que.enqueue(&t10);
	que.enqueue(&t11);
	que.enqueue(&t12);
	que.enqueue(&t13);

	que.remove(&t1);
	que.remove(&t2);
	que.remove(&t3);
	que.remove(&t4);
	que.remove(&t5);
	que.remove(&t6);
	que.remove(&t7);
	que.remove(&t8);
	que.remove(&t9);
	que.remove(&t10);
	que.remove(&t11);
	que.remove(&t2);

	for(int i = 0; i < 10; i++)
	{
		cout << que.dequeue() << endl;
	}
}
